package top.hekun.study.tree.visitor.simple;

import org.objectweb.asm.tree.ClassNode;

/**
 * 参考ASM 逻辑 实现一个处理器链
 */
public class ClassTransformer {
    // 下一个处理器
    protected ClassTransformer ct;

    /**
     * 构造的时候需要传递下一个处理器
     *
     * @param ct
     */
    public ClassTransformer(ClassTransformer ct) {
        this.ct = ct;
    }

    /**
     * 将class节点发送给下个处理器
     *
     * @param classNode
     */
    public void transform(ClassNode classNode) {
        if (ct != null) {
            ct.transform(classNode);
        }
    }
}
